home *** CD-ROM | disk | FTP | other *** search
- 1000 SCREEN@ 0:CLS:KY=0:MY=0:SETUMEI=0
- 1010 DEF FONT "システム 16ドット"
- 1020 '
- 1030 *GAMEN_1
- 1040 REM ****WAKU EGAKU ************************************************
- 1050 FOR J=0 TO 16 STEP 2
- 1060 LINE(J,20+J)-(630-J,476-J),PSET,5,B
- 1070 NEXT
- 1080 LINE(40,420)-(596,423),PSET,5,BF
- 1090 '
- 1100 COLOR 6
- 1110 LOCATE 25, 5:PRINT "TOWNS 君が作る正多角形ですよ";
- 1120 LOCATE 25, 7:PRINT "● 初めての人(サンプル付き)";
- 1130 LOCATE 25, 9:PRINT "● 2度目の人(サンプルなし)";
- 1140 LOCATE 25,11:PRINT "HELP で希望の正多角形の頂角の";
- 1150 LOCATE 25,12:PRINT " 内角の大きさを知ることが";
- 1160 LOCATE 25,13:PRINT " できます。";
- 1170 LINE (152,301)-(476,301),PSET,5
- 1180 LOCATE 24,17:PRINT "どちらかの ● をクリックしてね";
- 1190 LOCATE 24,19:PRINT " おまけもあるよ";
- 1200 LOCATE 24,21:COLOR 7:PRINT "おまけ1 おまけ2 おまけ3";:COLOR 6
- 1210 LINE (188,396)-(254,417),PSET,7,B:LINE (276,396)-(344,417),PSET,7,B
- 1220 LINE (364,396)-(431,417),PSET,7,B
- 1230 '
- 1240 MOUSE 5:MOUSE 0:MOUSE 1,444,155,1
- 1250 X=MOUSE(4,0):Y=MOUSE(5,0)
- 1260 IF X>197 AND X<425 AND Y>131 AND Y<150 THEN KY=0:GOTO *KESU
- 1270 IF X>196 AND X<423 AND Y>169 AND Y<189 THEN KY=1:GOTO *HAYASA
- 1280 IF X>188 AND X<254 AND Y>396 AND Y<417 THEN GOTO *OMAKE1
- 1290 IF X>276 AND X<344 AND Y>396 AND Y<417 THEN GOTO *OMAKE2
- 1300 IF X>364 AND X<431 AND Y>396 AND Y<417 THEN GOTO *OMAKE3
- 1310 GOTO 1250
- 1320 '
- 1330 *HAYASA
- 1340 LINE(187,395)-(432,418),PSET,0,BF:CLS 4
- 1350 LOCATE 26, 7:PRINT "● 多角形を, 高速で描く";
- 1360 LOCATE 26, 9:PRINT "● 多角形を, 低速で描く";
- 1370 LOCATE 24,18:PRINT "どちらかの ● をクリックしてね";
- 1380 '
- 1390 MOUSE 5:MOUSE 0:MOUSE 1,444,155,1
- 1400 X=MOUSE(4,0):Y=MOUSE(5,0)
- 1410 IF X>197 AND X<425 AND Y>131 AND Y<150 THEN HY_SYOKI=1:GOTO *SETUMEI
- 1420 IF X>196 AND X<423 AND Y>169 AND Y<189 THEN HY_SYOKI=0:GOTO *SETUMEI
- 1430 GOTO 1400
- 1440 '
- 1450 *SETUMEI
- 1460 CLS 4
- 1470 LOCATE 29, 7:PRINT "● 説明を付ける。";
- 1480 LOCATE 29, 9:PRINT "● 説明を付けない。";
- 1490 LOCATE 24,18:PRINT "どちらかの ● をクリックしてね";
- 1500 '
- 1510 MOUSE 5:MOUSE 0:MOUSE 1,444,155,1
- 1520 X=MOUSE(4,0):Y=MOUSE(5,0)
- 1530 IF X>197 AND X<425 AND Y>131 AND Y<150 THEN SETUMEI=0:GOTO *KESU
- 1540 IF X>196 AND X<423 AND Y>169 AND Y<189 THEN SETUMEI=1:GOTO *KESU
- 1550 GOTO 1520
- 1560 '
- 1570 *KESU
- 1580 MOUSE 5:CLS 4:LINE (152,301)-(476,301),PSET,0
- 1590 LINE(187,395)-(432,418),PSET,0,BF
- 1600 GOTO *GAMEN
- 1610 '
- 1620 *GAMEN
- 1630 LINE(152,228)-(488,228),PSET,2
- 1640 LINE(320, 60)-(320,395),PSET,2
- 1650 '
- 1660 LINE(180, 60)-(180,395),PSET,7,,&H6666
- 1670 LINE(250, 60)-(250,395),PSET,7,,&H6666
- 1680 LINE(390, 60)-(390,395),PSET,7,,&H6666
- 1690 LINE(460, 60)-(460,395),PSET,7,,&H6666
- 1700 LINE(152, 88)-(488, 88),PSET,7,,&H6666
- 1710 LINE(152,158)-(488,158),PSET,7,,&H6666
- 1720 LINE(152,298)-(488,298),PSET,7,,&H6666
- 1730 LINE(152,368)-(488,368),PSET,7,,&H6666
- 1740 '
- 1750 SYMBOL (309,231),"0", 1,1,7,0,PSET,0,2
- 1760 '
- 1770 SYMBOL (298,371),"-1",1,1,7,0,PSET,0,2
- 1780 SYMBOL (309, 91),"1", 1,1,7,0,PSET,0,2
- 1790 '
- 1800 SYMBOL (158,231),"-1",1,1,7,0,PSET,0,2
- 1810 SYMBOL (449,231),"1", 1,1,7,0,PSET,0,2
- 1820 '
- 1830 REM COMENT KAKIKOMU ****************************
- 1840 IF KY=1 THEN GOTO *MAIN_PRO
- 1850 COLOR 6
- 1860 LOCATE 7, 23:PRINT "Townsくんが, 君が入力した角度を頂角に持つ正多角形を描いてくれるよ。";
- 1870 WAIT 500:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 1880 LOCATE 7, 23:PRINT "例えばさ, 正三角形の頂角は, 60度だよね。 だから・・・・・・・";
- 1890 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 1900 LOCATE 7, 23:PRINT "キーボードから60と入れ, リターンキーを押すと・・・ 正三角形を描くよ。";
- 1910 WAIT 100
- 1920 LOCATE 7,3:COLOR 6:INPUT "何度";XTH!
- 1930 LOCATE 7,3:PRINT " ";
- 1940 IF XTH=60 THEN GOTO *MAIN_PRO
- 1950 LOCATE 7,3:COLOR 6:PRINT "60と入れてね。";
- 1960 WAIT 200:LOCATE 7,3:PRINT " ";
- 1970 GOTO 1920
- 1980 '
- 1990 *MAIN_PRO
- 2000 IF KY=0 THEN GOTO *MAIN_PRO_2
- 2010 IF MY=1 THEN GOTO 2030
- 2020 LOCATE 38,23:COLOR 7:PRINT " 始める HELP 終わる メニューへ";:GOTO 2040
- 2030 LOCATE 38,23:COLOR 7:PRINT " 続ける HELP 終わる メニューへ";
- 2040 LINE (308,434)-(363,455),PSET,7,B
- 2050 LINE (379,434)-(419,455),PSET,7,B
- 2060 LINE (435,434)-(490,455),PSET,7,B
- 2070 LINE (506,434)-(596,455),PSET,7,B
- 2080 '
- 2090 MOUSE 5:MOUSE 0:MOUSE 1,494,402,1
- 2100 X=MOUSE(4,0):Y=MOUSE(5,0)
- 2110 IF X>308 AND X<363 AND Y>434 AND Y<455 THEN GOTO *MAIN_PRO_1
- 2120 IF X>379 AND X<419 AND Y>434 AND Y<455 THEN HEY=1:GOTO *HELP
- 2130 IF X>435 AND X<490 AND Y>434 AND Y<455 THEN SYSTEM
- 2140 IF X>506 AND X<596 AND Y>434 AND Y<455 THEN GOTO *MENU_HE
- 2150 GOTO 2100
- 2160 '
- 2170 *HELP
- 2180 LINE (308,434)-(600,455),PSET,0,BF:MOUSE 5
- 2190 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 2200 LOCATE 7,23:COLOR 6:PRINT "何角形の, 頂角の大きさを知りたいのかな?";
- 2210 LOCATE 7,3:COLOR 6:INPUT "何角形";KAK
- 2220 D=(KAK-2)*180/KAK
- 2230 LOCATE 7,3 :PRINT " ";
- 2240 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 2250 LOCATE 5,23:PRINT KAK;"角形の, 頂角の大きさは, ";D;"度です。キーボードから角度を入れてね";
- 2260 GOTO *MAIN_PRO_1'
- 2270 '
- 2280 '
- 2290 *MAIN_PRO_1
- 2300 IF HEY=1 THEN GOTO 2320
- 2310 LINE (308,434)-(600,455),PSET,0,BF:CLS 4:MOUSE 5
- 2320 LOCATE 7,3:COLOR 6:INPUT "何度";XTH!
- 2330 LOCATE 7,3:PRINT " ";
- 2340 IF XTH<180 THEN GOTO *MAIN_PRO_2
- 2350 LOCATE 7,3:COLOR 6:PRINT "180より小さい数を入れてね。";
- 2360 WAIT 200:LOCATE 7,3:PRINT " ";
- 2370 GOTO 2320
- 2380 '
- 2390 *MAIN_PRO_2
- 2400 LOCATE 5,23:PRINT SPACE$(75);:WAIT 50
- 2410 LOCATE 7, 23:PRINT "一つの頂角が";XTH;"゜の多角形を描くよ。よく見てくれよ。";
- 2420 WAIT 100
- 2430 '
- 2440 LINE (507,340)-(591,417),PSET,7,B
- 2450 PI=3.14159!:TH=0:CHECK=1:KAKU=0
- 2460 THT=(180-XTH)/2
- 2470 B=280*COS(TH*PI/180)*COS(TH*PI/180)
- 2480 A=280*COS(TH*PI/180)*SIN(TH*PI/180)
- 2490 C0=40+280-A:D0=228-B+140
- 2500 POINT(C0,D0)
- 2510 '
- 2520 HY=HY_SYOKI
- 2530 IF HY=1 THEN GOTO 2580
- 2540 LOCATE 64, 18:COLOR 4:PRINT "マウスを";
- 2550 LOCATE 64, 19:COLOR 4:PRINT "左クリック";
- 2560 LOCATE 64, 20:COLOR 4:PRINT "すると";
- 2570 LOCATE 64, 21:COLOR 4:PRINT "速くなるよ";:GOTO 2620
- 2580 LOCATE 64, 18:COLOR 7:PRINT "マウスを";
- 2590 LOCATE 64, 19:COLOR 7:PRINT "左クリック";
- 2600 LOCATE 64, 20:COLOR 7:PRINT "すると";
- 2610 LOCATE 64, 21:COLOR 7:PRINT "遅くなるよ";
- 2620 '
- 2630 MOUSE 5:MOUSE 0
- 2640 FOR TH=0 TO 35720 STEP THT
- 2650 XM=MOUSE(3,0)
- 2660 IF XM=0 THEN GOTO 2790
- 2670 IF HY=0 THEN HY=1 ELSE HY=0
- 2680 IF HY=1 THEN GOTO 2740
- 2690 LOCATE 64, 18:COLOR 4:PRINT "マウスを";
- 2700 LOCATE 64, 19:COLOR 4:PRINT "左クリック";
- 2710 LOCATE 64, 20:COLOR 4:PRINT "すると";
- 2720 LOCATE 64, 21:COLOR 4:PRINT "速くなるよ";:GOTO 2780
- 2730 '
- 2740 LOCATE 64, 18:COLOR 7:PRINT "マウスを";
- 2750 LOCATE 64, 19:COLOR 7:PRINT "左クリック";
- 2760 LOCATE 64, 20:COLOR 7:PRINT "すると";
- 2770 LOCATE 64, 21:COLOR 7:PRINT "遅くなるよ";
- 2780 XM=0
- 2790 B=280*COS(TH*PI/180)*COS(TH*PI/180)
- 2800 A=280*COS(TH*PI/180)*SIN(TH*PI/180)
- 2810 C=40+280-A:D=228-B+140
- 2820 '
- 2830 LINE -(C,D),PSET,4'CIRCLE (C,D),3,2,,,,F,PSET,2
- 2840 C1=ABS(C-C0):D1=ABS(D-D0)
- 2850 IF CHECK=1 THEN GOTO 2870
- 2860 IF C1<.5! AND D1<.5! THEN GOTO *MAIN_COMENT
- 2870 CHECK=CHECK+1:KAKU=KAKU+1
- 2880 IF HY=1 THEN GOTO 2900
- 2890 WAIT 50
- 2900 NEXT'
- 2910 '
- 2920 *MAIN_COMENT
- 2930 LINE (506,339)-(592,418),PSET,0,BF:CLS 4
- 2940 GOSUB *KEISAN
- 2950 '
- 2960 IF SETUMEI=1 THEN GOTO 3060
- 2970 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 2980 IF SEI=0 THEN GOTO 3000
- 2990 LOCATE 7, 23:COLOR 6:PRINT "頂角が";XTH;"度だと, 正";KAKU;"角形になるんだね!";:GOTO 3010
- 3000 LOCATE 7, 23:COLOR 6:PRINT "頂角が";XTH;"度だと, ";KAKU;"個の頂点を持つ星型正多角形になるんだね!";
- 3010 IF XTH>160 THEN GOTO 3150
- 3020 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 3030 LOCATE 7, 23:PRINT "円を描くよ。 正多角形なので, 円に内接するよ。";
- 3040 WAIT 300
- 3050 '
- 3060 IF XTH>160 THEN GOTO 3090
- 3070 WAIT 75:CIRCLE (320,228),140,5
- 3080 IF SETUMEI=1 THEN GOTO 3120
- 3090 WAIT 300
- 3100 '
- 3110 LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 3120 IF SEI=0 THEN GOTO 3140
- 3130 LOCATE 7, 23:COLOR 6:PRINT "頂角が";XTH;"度だと, 正";KAKU;"角形になるんだね!分かったかい?";:GOTO 3150
- 3140 LOCATE 7, 23:COLOR 6:PRINT "頂角が";XTH;"度だと, ";KAKU;"個の頂点を持つ星型正多角形になるんだね!";
- 3150 WAIT 300:LOCATE 7,23:PRINT SPACE$(70);:WAIT 50
- 3160 IF SETUMEI=1 THEN GOTO 3200
- 3170 LOCATE 7, 23:PRINT "では, 自分で好きな数を入れてためしてみて。";
- 3180 WAIT 200
- 3190 '
- 3200 CLS 4:LINE (150,59)-(489,369),PSET,0,BF
- 3210 HEY=0:KY=1:MY=1:GOTO *GAMEN
- 3220 '
- 3230 *MOUS
- 3240 MOUSE 0:MOUSE 1,100,100,1
- 3250 X=MOUSE(4,0):Y=MOUSE(5,0)
- 3260 LOCATE 0,23:PRINT X;Y;
- 3270 GOTO 3250
- 3280 '
- 3290 *KEISAN
- 3300 LOCATE 7,23:PRINT SPACE$(60);
- 3310 XTH$=STR$(XTH)
- 3320 FOR H=1 TO 360
- 3330 D1=(H-2)*180/H
- 3340 D1$=STR$(D1)
- 3350 IF D1$=XTH$ THEN GOTO 3380
- 3360 NEXT
- 3370 SEI=0:GOTO 3390
- 3380 SEI=1
- 3390 RETURN
- 3400 '
- 3410 *MENU_HE
- 3420 MOUSE 5:LINE (307,432)-(297,456),PSET,0,BF
- 3430 CHAIN "MENU2.BAS",,ALL
- 3440 RUN "MENU2.BAS"
- 3450 '
- 3460 *OMAKE1
- 3465 MOUSE 5
- 3470 CHAIN "OMAKE1.BAS",,ALL
- 3480 RUN "OMAKE1.BAS"
- 3490 '
- 3500 *OMAKE2
- 3505 MOUSE 5
- 3510 CHAIN "OMAKE2.BAS",,ALL
- 3520 RUN "OMAKE2.BAS"
- 3530 '
- 3540 *OMAKE3
- 3545 MOUSE 5
- 3550 CHAIN "OMAKE3.BAS",,ALL
- 3560 RUN "OMAKE3.BAS"
-